package com.pd.backend.mapper;

import com.pd.backend.domain.dto.AuthUserDto;
import com.pd.backend.domain.entity.PdAuthUser;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;

import java.util.Date;
import java.util.List;

/**
 * 用户管理数据层接口
 */
@Mapper
public interface AuthUserMapper {

    /**
     * 查询全部
     *
     * @return
     */
    List<PdAuthUser> findAll();

    /**
     * 多条件分页查询
     *
     * @param account         账号
     * @param orgId           组织Id
     * @param startCreateTime 创建开始时间
     * @param endCreateTime   创建结束时间
     * @return
     */
    List<PdAuthUser> pageSearch(@Param("account") String account,
                                @Param("orgId") String orgId,
                                @Param(("startCreateTime")) Date startCreateTime,
                                @Param("endCreateTime") Date endCreateTime);

    /**
     * 用户管理 修改用户
     *
     * @param authUserDto
     * @return
     */
    int modify(AuthUserDto authUserDto);

    /**
     * 用户管理 删除用户
     *
     * @param id
     * @return
     */
    int remove(@Param("id") String id);

    /**
     * 通过用户id修改手机号
     *
     * @param userId
     * @param mobile
     * @return
     */
    int modifyMobileByUserId(@Param("userId") String userId, @Param("mobile") String mobile);

    /**
     * 通过id查找用户
     *
     * @param userId
     * @return
     */
    PdAuthUser findById(@Param("userId") String userId);
}
